//getState用来获取仓库状态 dispatch用来重新派发动作
//每一个中间件都会接受到getState,dispatch这两个参数
export default function loggerMiddleware({ getState, dispatch }) {
  console.log(getState);
  return function (next) {
    //next是为了调用原生的dispatch方法
    return function (action) {
      //打印派发之前的状态
      console.log(`老状态:${JSON.stringify(getState())}`);
      //执行派发的动作
      next(action);
      //打印更新后的状态
      console.log(`新状态:${JSON.stringify(getState())}`);
    };
  };
}
